草庐IT

javascript - 使用 Coffeescript 计算对象中的键数

全部标签

ruby - 为什么 Ruby 中的符号不​​被认为是一种变量?

编程和Ruby的新手,我希望这个关于符号的问题符合要求。我知道Ruby中的符号(例如,:book、:price)作为散列键特别有用,并且可以全面地执行轻量级的特定子集字符串可以做到。但是,我在一方面对符号感到困惑。具体来说,当它们用于attr_accessor类型的方法时,它们的行为更像是一个变量。例如,attr_reader:book,:price。如果在该用法中它们是变量,这有点令人费解,因为它们通常不在变量类型中列出(如$global、@instance、local、@@class,有时还有CONSTANT,变量类型)描述变量类型时。如果以这种方式使用符号是变量,那么它们的作用域

ruby - 如何使用 Fog 重命名文件?

我有一个Rails3.2应用程序。使用fog在S3中存储文件。我想写一个脚本来重命名所有已上传的文件。我似乎找不到这方面的任何雾文档。雾有可能吗?我需要另一个gem吗? 最佳答案 thispost中提到的复制呢??比照。fog'srequestssources和fog'smodelssources.你应该能够做到:storage.copy_object('old_bucket','old_filename','new_bucket','new_filename')或file.copy('new_bucket','new_filena

ruby - 是否可以使用 block 定义 Ruby 单例方法?

所以,我想为一个对象定义一个单例方法,但我想用闭包来实现。例如,defdefine_say(obj,msg)defobj.sayputsmsgendendo=Object.newdefine_sayo,"helloworld!"o.say这不起作用,因为通过“def”定义单例方法不是闭包,所以我得到一个异常,“msg”是undefinedvariable或方法。我想做的是在Module类中使用“define_method”方法,但据我所知,这只能用于在类上定义一个方法......但我想要一个单例方法...所以,我很想这样写:defdefine_say(obj,msg)obj.defin

ruby - Ruby 中的循环依赖

假设我们有两个类,Foo和FooSub,分别在不同的文件foo.rb和foo_sub.rb中。foo.rb:require"foo_sub"classFoodeffooFooSub.SOME_CONSTANTendendfoo_sub.rb:require"foo"classFooSub由于循环依赖,这是行不通的——我们不能在没有其他类的情况下定义任何一个类。我见过各种解决方案。我想避免其中两个-即,将它们放在同一个文件中并删除循环依赖性。因此,我找到的唯一其他解决方案是前向声明:foo.rb:classFooendrequire"foo_sub"classFoodeffooFooSu

ruby - 绑定(bind)后如何使用erb输出文件

我得到了以下示例:require'erb'names=[]names.push({'first'=>"Jack",'last'=>"Herrington"})names.push({'first'=>"LoriLi",'last'=>"Herrington"})names.push({'first'=>"Megan",'last'=>"Herrington"})myname="JohnSmith"File.open(ARGV[0]){|fh|erb=ERB.new(fh.read)printerb.result(binding)伴随着text.txtHelloHellohi,mynam

ruby - 是否可以根据单个对象对方法的响应对对象列表进行排序?

我想显示一个产品的画廊,其中包括待售和非待售产品。只是我想让待售的产品出现在列表的前面,而不是待售的对象出现在列表的末尾。我实现此目的的一种简单方法是制作两个列表,然后合并它们(一个列表是on_sale?对象,另一个列表是非on_sale?对象):available_products=[]sold_products=[]@products.eachdo|product|ifproduct.on_sale?available_products...但是对于我现有应用程序的结构来说,由于我的代码中有一个奇怪的地方,这将需要过多的重构(我失去了分页,我宁愿不重构)。如果有一种方法可以通过我的

ruby - Ruby Gem 中的 NewRelic 事务跟踪

我正在开发一个Rubygem,我想在其中添加NewRelic监控。该gem在作为守护进程运行并由bluepill监控的脚本中使用。我按照“MonitoringRubybackgroundprocessesanddaemons”开始了。我确认gem正在与NewRelic建立连接,因为该应用程序显示在我的门户中,但是,没有事务跟踪或被调用代码的任何指标分割。这是我的gem的“入口”点,因为我试图围绕调用方法手动启动代理:require'fms/parser/version'require'fms/parser/core'require'fms/parser/env'require'mong

ruby-on-rails - Ruby 中的符号和变量有什​​么区别?

这个问题在这里已经有了答案:HowtounderstandsymbolsinRuby(11个答案)关闭8年前。我想了解ruby​​中符号和变量之间的区别。他们在给出一个引用对象的名称时似乎做了完全相同的事情。我已经阅读过这些符号以加快程序速度,但我不确定它们与变量有任何不同的原因或方式。

ruby - ruby 2 中的 DateTime 减法?

我需要减去两个DateTime对象,以便找出它们之间的小时差。我尝试执行以下操作:a=DateTime.new(2015,6,20,16)b=DateTime.new(2015,6,21,16)putsa-b我得到(-1/1),Rational类的对象。那么,问题是,我如何找出两个日期之间的区别?数小时或数天,或其他时间。当我像那样减去DateTimes时,这个Rational意味着/代表什么?顺便说一句:当我尝试用相差1年的时间减去DateTime时,我得到(366/1),所以当我执行(366/1).to_i,我得到天数。但是,当我尝试用相差1小时的时间减去两个DateTime时,得

ruby - Ruby 中的关键字在哪里定义?

我正在查看Ruby文档,想知道是否一切都是对象,那么“关键字”也是对象,对吗?如果是这样,它们在ruby​​中的何处定义?下面的页面让我完全困惑,因为它显示了包含所有关键字的对象,但这不是所有类都使用的官方对象,这是从不同的类以某种方式混入的吗??http://ruby-doc.org/docs/keywords/1.9/Object.html我猜上面有很多问题,最主要的一个是:ruby关键字如何进入ruby? 最佳答案 关键字不是对象,而是在解析器中定义的,可以在Ruby源代码的parse.y中找到。这是该文件的相关部分:resw